home *** CD-ROM | disk | FTP | other *** search
/ Logiciels PC Special 3 / Logiciel PC - Hors-Serie 3.iso / Logs / consoles / odyssey2 / O2EM.TXT < prev   
Text File  |  1998-09-27  |  9KB  |  224 lines

  1.                              O2EM V0.701
  2.                         an Odyssey 2 emulator
  3.  
  4.          copyright 1996/1998 by Daniel Boris (dboris@erols.com)
  5.  
  6. ---------------------------------------------------------------------------
  7.  
  8. Acknowledgments:
  9.  
  10. I would like to thank the following people for their help and encouragement:
  11.  
  12.  
  13.     Keita Iida (Keita/Pooka/Fygar)
  14.         for his enthusiasm, for the O2EM beta testing, and
  15.         general encouragement.
  16.  
  17.     Marco Kerstens (MarcoK)
  18.         for providing Videopac schematics, and general support.
  19.  
  20.         Matthew Pritchard
  21.                 for getting me some official O2 programming documents.
  22.  
  23.     Bo Krogsgaard (Therion23)
  24.         for putting the idea of doing the emulator into my head to 
  25.         start with.
  26.  
  27.         Jason F. Gohlke
  28.                 for providing valuable Voice tech info as well as the voice
  29.                 samples.
  30.  
  31.     Erica (unico)
  32.         for putting up with me while I was working on this ;)
  33.  
  34.  
  35.         everyone on EFNET IRC channels #emulate and #rgvc
  36.  
  37.         and all the people who have e-mailed me to say how the emulator has
  38.         brought them back to their childhood!
  39.  
  40. ---------------------------------------------------------------------------
  41. Copyright:
  42. O2EM is copyright 1997,1998 by Daniel Boris.
  43.  
  44. Odyssey 2 and Videopac are trademarks of Philips Electronics.
  45.  
  46. O2EM is free as long as it is not used in a commercial matter and not
  47. altered in any way. The contents of this archive should not be
  48. added to or changed in any way. ROM images should never be distributed
  49. with this emulator.
  50.  
  51. I maintain the right to forbid the use of the emulator  at
  52. any time. I am not responsible for any damage caused by the use
  53. of this program. This program is distributed "as-is". I make no
  54. guarantees as to it's accuracy, performance, or compatibility with
  55. the users hardware. 
  56.  
  57. The emulator is not to be distributed for profit and may not be  
  58. included on CD's without my express permission. 
  59. ---------------------------------------------------------------------------    
  60.  
  61. Introduction
  62.     
  63.     This emulator was originally built up completely from scratch with
  64. almost no technical information to work from. The only materials I had
  65. to work with when writing this emulator where the Intel 8048 microcontroller
  66. data book, an O^2 console, and a couple of cartridges. Everything else was
  67. figured out by tracing circuits, running code on the real hardware, and
  68. generally do a lot of high tech detective work. Recently I acquired some
  69. official O2 programming info that has helped me confirm the things that I
  70. worked out and to fill in a few things that I was missing. 
  71.  
  72. The current version of O2EM can be found at:
  73.  
  74.   http://atarihq.com/danb
  75.  
  76. ---------------------------------------------------------------------------
  77. Quick Setup:
  78.  
  79. To get O2EM up and running quickly follow these steps:
  80.  
  81. 1. Create a directory called O2EM on your harddrive.
  82. 2. Unzip O2EM70.ZIP into the O2EM directory.
  83. 3. Download the o2em bios ROM O2ROM.BIN and put it into your O2EM directory.
  84. 4. Download one or more game rooms, for example KCMUNCH.BIN for KC Munchkin and
  85.    put the ROM in your O2EM directory.
  86. 5. From the O2EM directory type: O2EM KCMUNCH.BIN to start the game.
  87.  
  88. ---------------------------------------------------------------------------
  89. Setup:
  90.  
  91.     Before you can run O2EM you need a copy of the O2 BIOS ROM. For
  92. copyright reasons I am not including this ROM image in this archive. This
  93. ROM image is stored inside the 8048 processor and can be read out with the
  94. appropriate equipment. The image should be 1024 bytes long , named 
  95. O2ROM.BIN and should be in the same directory as the emulator.
  96.  
  97.         You will also need cartridge images, but again for copyright reasons
  98. I cannot provide these. PLEASE DO NOT E-mail me asking for ROM images! All
  99. messages asking for ROM images will be promptly deleted.
  100.  
  101.     O2EM works with Sound Blaster and compatible cards. Be sure to have you
  102. BLASTER environment variable set (see your sound card manual for more info).
  103. O2EM should automatically detect your sound card, if it doesn't it will disable
  104. sound emulation.
  105.  
  106.    If you wish to use Voice emulation for games like KC's Krazy Chase, create
  107. a directory called VOICE in the directory where you have O2EM. Download the
  108. voice samples and unzip them into the VOICE directory. There are two sets
  109. of voice samples, mainsamp.zip which is the main voice samples and sidsamp.zip
  110. which are the samples used by the game Sid the Spellbinder. You only need the
  111. Sid samples if you want voice in that game. 
  112.  
  113. The following games run almost perfectly:
  114. KC Munchkin, Thunderball Pinball, KC's Krazy Chase, Pick Axe Pete,
  115. Cosmic Conflict, Dynasty, Quest for the Kings, Sid the Spellbinder
  116. among others.
  117.  
  118. ------------------------------------------------------------------------------------
  119.  
  120. Usage:
  121.  
  122. O2EM file -[options]
  123.  
  124.     file - O2 file to load. The file should be either 2048, 4096, or 8192 
  125.     bytes long.
  126.  
  127.     -debug  - Start emulator in debug mode.
  128.  
  129.     -s1=#   - Set stick 1 mode
  130.     -s2=#   - Set stick 2 mode
  131.           Modes: 0 = Disable
  132.              1 = Right keyboard controls
  133.              2 = Left keyboard controls
  134.              3 = Joystick
  135.  
  136.     -nolimit - Turns off speed limiter. The speed limiter is on by default
  137.         and should keep the emulator running at proper speed, but if the games
  138.         run too slow try adding this option to turn the limiter off.
  139.  
  140.     -nosound - Disables sound emulation, this will also disable the voice
  141.         emulation.
  142.  
  143.     -novoice - Disables voice emulation.
  144.  
  145. ----------------------------------------------------------------------------
  146.  
  147. Controls:
  148.     
  149.     Arrow keys = Joystick 1
  150.     W,D,S,A    = Joystick 2
  151.     Right Shift = Fire Stick 1
  152.     Left Shift  = Fire Stick 2
  153.  
  154.     ESC = Leave the emulator
  155.     F4  = Enter debugger
  156.     F5  = Reset emulator (same as pressing the reset on the O2 keyboard)
  157. ----------------------------------------------------------------------------
  158.  
  159. Debugger:
  160.  
  161. The emulator comes with a built in debugger that I used for development.
  162. The debugger is not very polished and fairly incomplete but it can be
  163. useful for single stepping through programs and watching their behavior.
  164. I will clean up and improve the debugger in later versions.
  165.  
  166. H = display help
  167.  
  168. ----------------------------------------------------------------------------
  169.  
  170. Limitations
  171.          - sound: This is my first attempt at writing sound emulation from
  172.          scratch so it's still not perfect.
  173.  
  174.          - Mid screen changes: In this version of O2EM I added support for
  175.          mid-screen interrupts which I hoped would fix a lot of games.
  176.          Unfortunately some games do mid-screen changes without using
  177.          interrupts so I will have to re-write the screen engine again
  178.          to make these work.
  179.  
  180. Version History:
  181.  
  182. v0.50: 7/06/97 First Public Release
  183.  
  184. V0.60: 10/8/97 
  185.     - Ported from Borland C to DJGPP
  186.     - Fixed DA A instruction
  187.     - Add new screen draw engine that allows mid screen changes
  188.     - Fixed handling of A11 during interrupts
  189.     - Fixed pushing of PSW onto stack during interrupts
  190.     - Made various timing fixes
  191.     - Adjust colors
  192.     - Add speed limiter
  193.     - Added joystick support
  194.     - Added configurable controls
  195.     - Shifted screen to the right so it is centered
  196.     - Fixed a couple character set images
  197.  
  198. V0.65: 05/15/98
  199.     - Couple bug fixes in 8039 emulation (thanks to Mirko Buffoni for this)
  200.     - Improved speed limiter
  201.     - Added sound support
  202.     - X and Y position registers now implemented correctly
  203.     - Grid collision handling fixed (Basketball)
  204.     - Changed keys for stick 2 to a more comfortable setting and enable
  205.       it by default.
  206.     - Fixed a bug in screen update routine that was causing crashes in
  207.       some games.
  208.     - Compiled with -mpentium which should improve speed on Intel Pentiums.
  209.  
  210. V0.70  09/26/98
  211.     - Fixed shape of '$' character. Thanks to Mattias Persson.
  212.     - Added missing 64th character to character set. Again thanks to Mattias.
  213.     - Added Voice support. Thanks to Jason Gohlke
  214.     - Fixed bug in drawing of bottom grid line. Thanks to John Donzilla.
  215.     - Fixed a bug in the CPU core related to the handling of branch instructions
  216.       near page boundaries.
  217.     - CPU core now jumps to the correct address on an external interrupt,
  218.       Killer Bees now runs.
  219.  
  220. V0.701 09/27/98 (Two bug fixes listed for V0.70 didn't get into the release)
  221.     - Fixed shape of '$' character. Thanks to Mattias Persson.
  222.     - Added missing 64th character to character set. Again thanks to Mattias.
  223.  
  224.